using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Text;
using System.Drawing;

using Bots.Professionbuddy;
using Bots.Professionbuddy.BehaviorTree;
using Bots.Professionbuddy.ComponentBase;
using Bots.Professionbuddy.Dynamic;
using Bots.Professionbuddy.Localization;
using Bots.Professionbuddy.PropertyGridUtilities;


using Styx;
using Styx.Common;
using Styx.CommonBot;
using Styx.CommonBot.Profiles;
using Styx.TreeSharp;
using Styx.Helpers;
using Styx.WoWInternals;
namespace DesmoPlugin
{


    public partial class DesmoPluginCFG : Form
    {

        public string currentCraftingProfession_1;
        public string currentCraftingProfession_2;

        private void Craft (int recipeID, string spellName, int amount)
		{
            if (Profession_Check(currentCraftingProfession_1) || Profession_Check(currentCraftingProfession_2)) 
            {
                if (Helpers.TradeskillHelper.CanRepeatNum(recipeID) < amount)
                    Tools_Gathering();


                Logging.Write("Crafting " + amount + " " + spellName);
                do
                {
                    if (!StyxWoW.Me.IsCasting)
                    {
                        SpellManager.CastSpellById(recipeID);
                    }

                    if (StyxWoW.Me.FreeNormalBagSlots < 1)
                        Logging.Write("Bags full");
                    else if (!(Helpers.TradeskillHelper.HasRecipe(recipeID)))
                        Logging.Write("Missing Recipe to craft " + spellName);
                    else if (!(Helpers.TradeskillHelper.HasMats(recipeID)))
                        Logging.Write("Missing Mats to craft " + spellName);
                    else if (!(Helpers.TradeskillHelper.HasTools(recipeID)))
                        Logging.Write("Missing Tools to craft " + spellName);
                }
                while ((StyxWoW.Me.FreeNormalBagSlots > 0) && Helpers.TradeskillHelper.CanCraft(recipeID) && (Helpers.InbagCount((uint)recipeID) <= amount));


            }
            
			
		}
		
		private void Profession_Craft_Handler (int recipeID, string spellName, int amount)
		{
		
			for (int profIdx = 0; profIdx < ProfEnable.Items.Count; profIdx++)
                    {
						 if(ProfEnable.GetItemChecked(profIdx))
						 {
							//Craft(
                             //ProfEnable.Name
                         
                         }
                        
                    }   
		
		/*
		
			Logging.Write("Crafting {0}");
			while ((StyxWoW.Me.FreeNormalBagSlots > 0) && Helpers.TradeskillHelper.CanCraft(recipeID) && (Helpers.InbagCount((uint)recipeID) <= amount))
			{
				// if (CanRepeatNum (RecipeID)  < amount) -> boh
				if (!StyxWoW.Me.IsCasting)
				{
					SpellManager.CastSpellById(recipeID);
				}
			}
		*/	
		}

        private bool Profession_Check (string profession)
        {
            
            if(StyxWoW.Me.GetSkill(profession).CurrentValue < 600)
            {
                Logging.Write("My " + profession + " level is too low. Please train to max level");
                return false;
            }
            else
                return true;
            
        }

        private void Tools_Gathering()
        {
            
        }
		
		
    }



    public class ProfessionCrafting
    {
        public string[][,] categoryList = new string[12][,];
        public string[,][,] subCategoryList = new string[12, 11][,];
        
        public ProfessionCrafting()
        {
            

            categoryList[0] = new string[,] { { "Researches", "Raw Gems", "Diamond", "Red", "Yellow", "Blue", "Green", "Purple", "Orange", "Jewels"  }, 
                                               { "Researches", "Cut raw gems", "Cut diamond gems", "Cut red gems", "Cut yellow gems", "Cut blue gems", "Cut green gems", "Cut purple gems", "Cut orange gems", "Craft jewels with uncommon gems" } 
                                             };
            
            subCategoryList[0, 0] = new string[,] { { "Serpent's Heart", "Secrets of the stone", "Primordial Ruby", "River's Heart", "Imperial Amethyst", "Sun's Radiance", "Vermilion Onyx", "Wild Jade" }, 
                                                          { "Create Serpent's Heart (Daily)", "Create Facets of Research using Spirits of Harmony", "Make Primordial Ruby research (Daily)", "Make River's Heart research (Daily)", "Make Imperial Amethyst research (Daily)", "Make Sun's Radiance research (Daily)", "Make Vermilion Onyx research (Daily)", "Make Wild Jade research (Daily)" },
                                                          { "140050", "131759", "131686", "131593", "131691", "131695", "131690", "131688" }
                                                        };

            subCategoryList[0, 1] = new string[,] { { "Raw Primal Diamond" }, 
                                                 { "Create Raw Gem" },
											     {"140060"}
                                               };
            subCategoryList[0, 2] = new string[,] { { "Agile Primal Diamond", "Austere Primal Diamond", "Burning Primal Diamond" , "Destructive Primal Diamond" , "Effulgent Primal Diamond", "Ember Primal Diamond", "Enigmatic Primal Diamond", "Eternal Primal Diamond", "Fleet Primal Diamond", "Forlorn Primal Diamond", "Impassive Primal Diamond", "Powerful Primal Diamond", "Reverberating Primal Diamond", "Revitalizing Primal Diamond" }, 
                                                          { "(+216 Agility and 3% Increased Critical Effect)", "(+324 Stamina and 2% Increased Armor Value from Items)", "(+216 Intellect and 3% Increased Critical Effect)", "(+432 Critical Strike and 1% Spell Reflect)" , "(+324 Stamina and Reduce Spell Damage Taken by 2%)" , "(+216 Intellect and +2% Maximum Mana)", "(+432 Critical Strike and Reduces Snare/Root Duration by 10%)", "(+432 Dodge and +1% Shield Block Value)" , "(+432 Mastery and Minor Run Speed Increase)" , "(+216 Intellect and Silence Duration Reduced by 10%)" , "(+432 Critical Strike and Fear Duration Reduced by 10%)", "(+324 Stamina and Stun Duration Reduced by 10%)" , "(+216 Strength and 3% Increased Critical Effect)", "(+432 Spirit and 3% Increased Critical Effect)" },
                                                          { "107753", "107754", "107756", "107757", "107758", "107759", "107760", "107762", "107763", "107764", "107765", "107766", "107767", "107768" } // Spell id
												 };
            subCategoryList[0, 3] = new string[,] { { "Bold Primordial Ruby",  "Flashing Primordial Ruby", "Brilliant Primordial Ruby", "Precise Primordial Ruby", "Delicate Primordial Ruby" }, 
                                                          { "(+160 Strength)", "(+320 Parry)", "(+160 Intellect)", "(+320 Expertise)", "(+160 Agility)" },
                                                          { "107705", "107708", "107706", "107709", "107707" } 
                                                        };
            subCategoryList[0, 4] = new string[,] { { "Smooth Sun's Radiance", "Subtle Sun's Radiance", "Quick Sun's Radiance", "Fractured Sun's Radiance", "Mystic Sun's Radiance" }, 
                                                          { "(+320 Critical Strike)",  "(+320 Dodge)", "(+320 Haste)", "(+320 Mastery)", "(+160 PvP Resilience)" }, 
                                                          { "107713",  "107714", "107712", "1077130", "107711" } 
                                                        };
            subCategoryList[0, 5] = new string[,] { { "Rigid River's Heart", "Stormy River's Heart", "Sparkling River's Heart", "Solid River's Heart" }, 
                                                          { "(+320 Hit)", "(+160 PvP Power)", "(+320 Spirit)", "(+240 Stamina)" }, 
                                                          { "106947", "106948", "106950", "106949" } 
                                                        };
            subCategoryList[0, 6] = new string[,] { { "Sensei's Wild Jade", "Jagged Wild Jade", "Forceful Wild Jade", "Nimble Wild Jade", "Effulgent Wild Jade", "Piercing Wild Jade", "Zen Wild Jade", "Steady Wild Jade", "Puissant Wild Jade", "Regal Wild Jade", "Energized Wild Jade", "Shattered Wild Jade", "Radiant Wild Jade", "Turbid Wild Jade", "Vivid Wild Jade", "Balanced Wild Jade", "Lightning Wild Jade", "Misty Wild Jade" }, 
                                                          { "(+160 Hit and +160 Mastery)","(+160 Critical Strike and +120 Stamina)", "(+160 Haste and +120 Stamina)", "(+160 Hit and +160 Dodge)", "(+80 PvP Power and +160 Mastery)", "(+160 Critical Strike and +160 Hit)", "(+160 Spirit and +160 Mastery)", "(+80 PvP Resilience and +120 Stamina)", "(+160 Mastery and +120 Stamina)", "(+160 Dodge and +120 Stamina)", "(+160 Haste and +160 Spirit)", "(+160 Haste and +80 PvP Power)", "(+160 Critical Strike and +80 PvP Power)", "(+160 Spirit and +80 PvP Resilience)", "(+80 PvP Power and +80 PvP Resilience)", "(+160 Hit and +80 PvP Resilience)", "(+160 Haste and +160 Hit)", "(+160 Spirit and +160 Critical Strike)" }, 
                                                          { "106956","107739", "107738", "107740", "106957", "106954", "106958", "107746", "107742", "107744", "107737", "107745", "107743", "106962", "106961", "106960", "106955", "106953" } 
                                                        };
            subCategoryList[0, 7] = new string[,] { { "Glinting Imperial Amethyst", "Accurate Imperial Amethyst", "Veiled Imperial Amethyst", "Retaliating Imperial Amethyst", "Etched Imperial Amethyst", "Mysterious Imperial Amethyst", "Purified Imperial Amethyst", "Shifting Imperial Amethyst", "Guardian's Imperial Amethyst", "Timeless Imperial Amethyst", "Defender's Imperial Amethyst", "Tense Imperial Amethyst", "Assassin's Imperial Amethyst", "Sovereign Imperial Amethyst" }, 
                                                          { "(+80 Agility and +160 Hit)", "(+160 Expertise and +160 Hit)", "(+80 Intellect and +160 Hit)", "(+160 Parry and +160 Hit)", "(+80 Strength and +160 Hit)", "(+80 Intellect and +80 PvP Power)", "(+80 Intellect and +160 Spirit)", "(+80 Agility and +120 Stamina)", "(+160 Expertise and +120 Stamina)", "(+80 Intellect and +120 Stamina)", "(+160 Parry and +120 Stamina)", "(+80 Strength and +80 PvP Power)", "(+80 Agility and +80 PvP Power)", "(+80 Strength and +120 Stamina)" }, 
                                                          { "107696", "107693", "107704", "107700", "107695", "107698", "107699", "107701", "107697", "107703", "107694", "107702", "130658", "130657" } 
                                                        };
            subCategoryList[0, 8] = new string[,] { { "Deadly Vermilion Onyx", "Crafty Vermilion Onyx", "Potent Vermilion Onyx", "Inscribed Vermilion Onyx", "Polished Vermilion Onyx", "Resolute Vermilion Onyx", "Stalwart Vermilion Onyx", "Champion's Vermilion Onyx", "Deft Vermilion Onyx", "Wicked Vermilion Onyx", "Reckless Vermilion Onyx", "Fierce Vermilion Onyx", "Adept Vermilion Onyx", "Keen Vermilion Onyx", "Artful Vermilion Onyx", "Fine Vermilion Onyx", "Skillful Vermilion Onyx", "Lucent Vermilion Onyx", "Tenuous Vermilion Onyx", "Splendid Vermilion Onyx", "Resplendent Vermilion Onyx", "Willful Vermilion Onyx" }, 
                                                          { "(+80 Agility and +160 Critical Strike)", "(+160 Expertise and +160 Critical Strike)", "(+80 Intellect and +160 Critical Strike)", "(+80 Strength and +160 Critical Strike)", "(+80 Agility and +160 Dodge)", "(+160 Expertise and +160 Dodge)", "(+160 Parry and +160 Dodge)", "(+80 Strength and +160 Dodge)", "(+80 Agility and +160 Haste)", "(+160 Expertise and +160 Haste)", "(+80 Intellect and +160 Haste)", "(+80 Strength and +160 Haste)", "(+80 Agility and +160 Mastery)", "(+160 Expertise and +160 Mastery)", "(+80 Intellect and +160 Mastery)", "(+160 Parry and +160 Mastery)", "(+80 Strength and +160 Mastery)", "(+80 Agility and +80 PvP Resilience)", "(+160 Expertise and +80 PvP Resilience)", "(+160 Parry and +80 PvP Resilience)", "(+80 Strength and +80 PvP Resilience)", "(+80 Intellect and +80 PvP Resilience)" }, 
                                                          { "107719", "107718", "107727", "107723", "107726", "107729", "107733", "107717", "107720", "107735", "107728", "107721", "107715", "107724", "107716", "107722", "107731", "107725", "107734", "107732", "107730", "107736" } 
                                                        };
            subCategoryList[0, 9] = new string[,] { { "Shadowfire Necklace", "Ornate Band", "Roguestone Shadowband", "Tiger Opal Pendant", "Widow Chain", "Golembreaker Amulet", "Reflection of the Sea" }, 
                                                          { "Create Shadowfire Necklace", "Create Ornate Band", "Create Roguestone Shadowband",  "Create Tiger Opal Pendant", "Create Widow Chain", "Create Golembreaker Amulet", "Create Reflection of the Sea" }, 
                                                          { "122662", "122661", "122665",  "122673", "122671", "122670", "122669" }  
                                                        };

            categoryList[1] = new string[,] { { "Researches", "Mats conversion", "Disenchant", "Cloak", "Chest", "Bracer", "Gloves", "Boots", "Weapon", "Off-Hand", "Shield"  }, 
                                                              { "Researches", "Convert Enchanting mats", "Disenchant stuffs", "Cloak enchants", "Chest enchants", "Bracer enchants", "Gloves enchant", "Boots enchants", "Weapon enchants", "Off-Hand enchants", "Shield enchants" } 
                                                            };
            subCategoryList[1, 0] = new string[,] { { "Sha Crystal" }, 
                                                          { "Craft Sha Crystal with 5x Ethereal Shard (Daily)" }, 
                                                          { "116499" }  
                                                        };
            subCategoryList[1, 1] = new string[,] { { "Ethereal Shard", "Mysterious Essence", "Small Ethereal Shard", "Sha Crystal Fragment" }, 
                                                          { "Craft Ethereal Shard with 5x Mysterious Essence", "Craft Mysterious Essence with 5x Spirit Dust", "Craft Ethereal Shard with 2x Small Ethereal Shard", "Craft Sha Crystal with 2x Sha Crystal Fragment" }, 
                                                          { "116498", "116497", "74252", "105718" }  //Lua.DoString(&quot;UseItemByName(105718)&quot;);
                                                        };
            subCategoryList[1, 2] = new string[,] { { "Disenchant Golembreaker Amulet", "Disenchant Tiger Opal Pendant", "Disenchant Shadowfire Necklace", "Disenchant Ornate Band", "Disenchant Widow Chain", "Disenchant Reflection of the Sea", "Disenchant Roguestone Shadowband" }, 
                                                          { "Disenchant Golembreaker Amulet", "Disenchant Tiger Opal Pendant", "Disenchant Shadowfire Necklace", "Disenchant Ornate Band", "Disenchant Widow Chain", "Disenchant Reflection of the Sea", "Disenchant Roguestone Shadowband" }, 
                                                          { null, null, null, null, null, null, null }
														  
                                                        };
            subCategoryList[1, 3] = new string[,] { { "Greater Protection", "Superior Intellect", "Superior Critical Strike", "Accuracy" }, 
                                                          { "(+200 Stamina)", "(+180 Intellect)", "(+180 Critical Strike)", "(+180 Hit)" }, 
                                                          { "104401", "104403", "104404", "104398" } 
                                                        };
            subCategoryList[1, 4] = new string[,] { { "Glorious Stats", "Superior Stamina", "Mighty Spirit", "Super Resilience" }, 
                                                          { "(All stats + 80)", "(+300 Stamina)", "(+200 Spirit)", "(+200 PvP Resilience)" }, 
                                                          { "104395", "104397", "104393", "104392" }  
                                                        };
            subCategoryList[1, 5] = new string[,] { { "Major Dodge", "Mastery", "Exceptional Strength", "Greater Agility", "Super Intellect" }, 
                                                          { "(+170 dodge)", "(+170 Mastery)", "(+180 Strength)", "(+180 Agility)", "(+180 Intellect)" },
                                                          { "104385", "104338", "104390", "104391", "104389" } 
                                                        };
            subCategoryList[1, 6] = new string[,] { { "Superior Mastery","Super Strength", "Greater Haste", "Superior Expertise" }, 
                                                          { "(+170 Mastery)", "(+170 Strength)", "(+170 Haste)", "(+170 Expertise)" }, 
                                                          { "104420", "104419", "104416", "104417" }  
                                                        };
            subCategoryList[1, 7] = new string[,] { { "Pandaren's Step", "Greater Haste", "Blurred Speed", "Greater Precision" }, 
                                                          { "(Movement speed and +140 mastery)", "(+170 Haste)", "(Movement speed and +140 Agility)", "(+175 Hit)" }, 
                                                          { "104414", "104407", "104409", "104408" } 
                                                        };
            subCategoryList[1, 8] = new string[,] { { "Windsong", "Elemental Force", "Dancing Steel", "Jade Spirit", "Colossus" }, 
                                                          { "(Proc: +1500 Crit, Haste or Mastery)", "(Proc: 2775-3225 additional Elemental damage)", "(Proc: +1650 Strength or Agility)", "(Proc: +1650 Intellect / +750 Spirit)", "(Proc: absorbs up to 7500 damage)" }, 
                                                          { "104425", "104430", "104434", "104427", "104440" } 
                                                        };
            subCategoryList[1, 9] = new string[,] { { "Major Intellect" }, 
                                                          { "(+165 Intellect)" }, 
                                                          { "104445" }  
                                                        };
            subCategoryList[1, 10] = new string[,] { { "Greater Parry" }, 
                                                          { "(+170 Parry)" }, 
                                                          { "130758" }  
                                                        };

            categoryList[2] = new string[,] { { "Researches", "Transmutes", "Flasks", "Potions"  }, 
                                                              { "Researches", "Transmute items", "Create Flasks", "Create Potions" } 
                                                            };
            subCategoryList[2, 0] = new string[,] { { "Living Steel", "Riddle of Steel" }, 
                                                          { "6 Trillium Bar in 1 Living Steel (Daily)", "Transmute Living Steel using Spirits of Harmony (no discovery!)" }, 
                                                          { "114780", null }  
                                                        };
            subCategoryList[2, 1] = new string[,] { { "Trillium Bar" }, 
                                                          { "10 Ghost Iron Bar in 1 Trillium Bar" }, 
                                                          { "114783" } 
                                                        };
            subCategoryList[2, 2] = new string[,] { { "Flask of Falling Leaves", "Flask of Spring Blossoms", "Flask of the Earth", "Flask of the Warm Sun", "Flask of Winter's Bite" }, 
                                                          { "+1000 Spirit", "+1000 Agility", "+1500 Stamina", "+1000 Intellect", "+1000 Strength" }, 
                                                          { "114772", "114769", "114770", "114771", "114773" }  
                                                        };
            subCategoryList[2, 3] = new string[,] { { "Potion of the Mountains", "Potion of the Jade Serpent", "Potion of Mogu Power", "Virmen's Bite", "Potion of Focus" }, 
                                                          { "+12000 Armor for 25 seconds", "+4000 Intellect for 25 seconds", "+4000 Strength for 25 seconds",  "+4000 Agility for 25 seconds", "+45000 mana over 10 seconds" }, 
                                                          { "114753", "114757", "114760",  "114765", "114782" }  
                                                        };

            categoryList[3] = new string[,] { { "Researches", "Inks", "Darkmoon Cards", "Shoulder inscription", "Glyphs"  }, 
                                                   { "Researches", "Ink management", "Craft Darkmoon Cards", "Create shoulder inscriptions", "Glyphs Crafting" } 
                                                 };
            subCategoryList[3, 0] = new string[,] { { "Northrend Inscription Research", "Minor Inscription Research", "Scroll of Wisdom", "Book of Glyph Mastery" }, 
                                                          { "Make Northrend Inscription Research (Daily)", "Make Minor Inscription Research (Daily)", "Research Scroll of Wisdom (Daily)", "Buy Book of Glyph Mastery from AH and use it" },
                                                          { "61177", "61288", "112996", null }  //Lua.DoString(&quot;UseItemByName(XXXX)&quot;);
                                                        };
            subCategoryList[3, 1] = new string[,] { { "Starlight Ink", "Ink of Dreams", "Trade Inks", "Mill Herbs" }, 
                                                          { "Craft Starlight Ink", "Craft Ink of Dreams", "Trade Ink of Dreams for other inks needed to craft stuffs", "Mill Herbs to create ink pigments" }, 
                                                          { "Craft Starlight Ink", "Craft Ink of Dreams", "Trade Ink of Dreams for other inks needed to craft stuffs", "Mill Herbs to create ink pigments" }  
                                                        };
            subCategoryList[3, 2] = new string[,] { { "Darkmoon Card of Mists" }, 
                                                          { "Craft Darkmoon Card of Mists" }, 
                                                          { "111830" }  
                                                        };
            subCategoryList[3, 3] = new string[,] { { "Greater Ox Horn Inscription", "Greater Crane Wing Inscription", "Greater Tiger Claw Inscription", "Greater Tiger Fang Inscription" }, 
                                                          { "(+300 Stamina / +100 Dodge)", "(+200 Intellect / +100 Critical Strike)", "(+200 Agility / +100 Critical Strike)", "(+200 Strenght / +100 Critical Strike)" }, 
                                                          { "126994", "126995", "126996", "126997" }  
                                                        };
            subCategoryList[3, 4] = new string[,] { { "Test Glyph" }, 
                                                          { "Test Glyph Tooltip" }, 
                                                          { null }  
                                                        };

            categoryList[4] = new string[,] { { "Researches", "Enhancements"  }, 
                                                              { "Researches", "Blacksmithing enhancements" } 
                                                            };

            subCategoryList[4, 0] = new string[,] { { "Balanced Trillium Ingot", "Accelerated Balanced Trillium Ingot" }, 
                                                          { "Make Balanced Trillium Ingot (Daily)", "Make Balanced Trillium Ingot using Spirits of Harmony" }, 
                                                          { "Make Balanced Trillium Ingot (Daily)", "Make Balanced Trillium Ingot using Spirits of Harmony" } 
                                                        };
            subCategoryList[4, 1] = new string[,] { { "Living Steel Belt Buckle", "Living Steel Weapon Chain" }, 
                                                          { "Additional belt socket", "(+200 Expertise and -50% Disarm duration" }, 
                                                          { "Additional belt socket", "(+200 Expertise and -50% Disarm duration" } 
                                                        };

            categoryList[5] = new string[,] { { "Researches", "Mount, utility, bags", "Scopes", "Bolts"  }, 
                                                   { "Researches", "Mount, utility, bags", "Craft Scopes", "Create Bolts" } 
                                                 };

            subCategoryList[5, 0] = new string[,] { { "Jard's Peculiar Energy Source" }, 
                                                          { "Make Jard's Peculiar Energy Source (Daily)" }, 
                                                          { "Make Jard's Peculiar Energy Source (Daily)" } 
                                                        };
            subCategoryList[5, 1] = new string[,] { { "Sky Golem", "Rascal-Bot", "Pierre", "Advanced Refrigeration Unit"} , 
                                                          { "Craft Sky Golem", "Craft Rascal-Bot", "Craft Pierre", "Craft 36 Slot Cooking Bag" }, 
                                                          { "Craft Sky Golem", "Craft Rascal-Bot", "Craft Pierre", "Craft 36 Slot Cooking Bag" } 
                                                        };
            subCategoryList[5, 2] = new string[,] { { "Mirror Scope", "Lord Blastington's Scope of Doom" }, 
                                                          { "(Proc: +900 Critical Strike for 10 seconds)", "(Proc: +1800 Agility for 10 seconds)" }, 
                                                          { "(Proc: +900 Critical Strike for 10 seconds)", "(Proc: +1800 Agility for 10 seconds)" } 
                                                        };
            subCategoryList[5, 3] = new string[,] { { "Ghost Iron Bolts" }, 
                                                          { "Craft Ghost Iron Bolts" }, 
                                                          { "Craft Ghost Iron Bolts" }  
                                                        };
            categoryList[6] = new string[,] { { "Researches", "Leg Armor"  }, 
                                                   { "Researches", "Leatherworking legs enhancements" } 
                                                 };

            subCategoryList[6, 0] = new string[,] { { "Hardened Magnificent Hide", "Accelerated Hardened Magnificent Hide", "Magnificence of Leather", "Magnificence of Scales" }, 
                                                          { "Make Hardened Magnificent Hide (Daily)", "Make Hardened Magnificent Hide with Spirit of War (no discovery!)", "Make Magnificent Hide (Daily, shares CD with Magnificence of Scales)", "Make Magnificent Hide (Daily, shares CD with Magnificence of Leather)"  }, 
                                                          { "Make Hardened Magnificent Hide (Daily)", "Make Hardened Magnificent Hide with Spirit of War (no discovery!)", "Make Magnificent Hide (Daily, shares CD with Magnificence of Scales)", "Make Magnificent Hide (Daily, shares CD with Magnificence of Leather)"  } 
                                                        };
            subCategoryList[6, 1] = new string[,] { { "Angerhide Leg Armor", "Ironscale Leg Armor", "Shadowleather Leg Armor" }, 
                                                          { "(+285 Strenght / +165 Critical Strike)", "(+430 Stamina / +165 Dodge)", "(+285 Agility / +165 Critical Strike)" }, 
                                                          { "(+285 Strenght / +165 Critical Strike)", "(+430 Stamina / +165 Dodge)", "(+285 Agility / +165 Critical Strike)" } 
                                                        };
            categoryList[7] = new string[,] { { "Researches", "Bolts", "Bags", "Spellthreads"  }, 
                                                   { "Researches", "Bolts Crafting", "Craft bags", "Leg spellthreads" } 
                                                 };

            subCategoryList[7, 0] = new string[,] { { "Celestial Cloth", "Accelerated Celestial Cloth", "Imperial Silk", "Song of Harmony"  }, 
                                                          { "Make Celestial Cloth (Daily)", "Make Celestial Cloth with Spirit of War (no discovery!)", "Make Silkworm Cocoon in The Silken Fields (Daily)", "Make Imperial Silk with Spirit of Harmony (no discovery!)"  }, 
                                                          { "Make Celestial Cloth (Daily)", "Make Celestial Cloth with Spirit of War (no discovery!)", "Make Silkworm Cocoon in The Silken Fields (Daily)", "Make Imperial Silk with Spirit of Harmony (no discovery!)"  } 
                                                        };
            subCategoryList[7, 1] = new string[,] { { "Bolt of Windwool Cloth" }, 
                                                          { "Turn Windwool Cloth in Bolt of Windwool Cloth" }, 
                                                          { "Turn Windwool Cloth in Bolt of Windwool Cloth" } 
                                                        };
            subCategoryList[7, 2] = new string[,] { { "Royal Satchel" }, 
                                                          { "Craft 28 Slot Bag" }, 
                                                          { "Craft 28 Slot Bag" } 
                                                        };
            subCategoryList[7, 3] = new string[,] { { "Greater Cerulean Spellthread", "Greater Pearlescent Spellthread"  }, 
                                                          { "(+285 Intellect / +165 Critical Strike)", "(+285 Intellect / +165 Spirit)" }, 
                                                          { "(+285 Intellect / +165 Critical Strike)", "(+285 Intellect / +165 Spirit)" } 
                                                        };
            categoryList[8] = new string[,] { { "Gathering", "Smelting"  }, 
                                                   { "Ore gathering", "Bar smelting" } 
                                                 };

            subCategoryList[8, 0] = new string[,] { { "Ghost Iron Ore", "Kyparite"  }, 
                                                          { "Gather Ghost Iron Ore", "Gather Kyparite"  }, 
                                                          { "Gather Ghost Iron Ore", "Gather Kyparite"  } 
                                                        };
            subCategoryList[8, 1] = new string[,] { { "Ghost Iron Bar", "Trillium Bar"  }, 
                                                          { "Smelt Ghost Iron Bar", "Smelt Trillium bar" }, 
                                                          { "Smelt Ghost Iron Bar", "Smelt Trillium bar" } 
                                                        };
            categoryList[9] = new string[,] { { "Herb gathering"  }, 
                                                   { "Herb gathering" } 
                                                 };


            subCategoryList[9, 0] = new string[,] { { "Green Tea Leaf", "Silkweed", "Snow Lily", "Fool's Cap", "Rain Poppy"   }, 
                                                          { "Gather Green Tea Leaf", "Gather Silkweed", "Gather Snow Lily", "Gather Fool's Cap", "Gather Rain Poppy"  }, 
                                                          { "Gather Green Tea Leaf", "Gather Silkweed", "Gather Snow Lily", "Gather Fool's Cap", "Gather Rain Poppy"  } 
                                                        };
            categoryList[10] = new string[,] { { "Enable"  }, 
                                                   { "Enabling Skinning" } 
                                                 };

            subCategoryList[10, 0] = new string[,] { { "Enable"  }, 
                                                          { "Enabling Skinning"  } , 
                                                          { "Enabling Skinning"  } 
                                                        };
            categoryList[11] = new string[,] { { "Enable"  }, 
                                                   { "Enable Fishing" } 
                                                 };

            subCategoryList[11, 0] = new string[,] { { "Enable" }, 
                                                          { "Enable Fishing"  } , 
                                                          { "Enable Fishing"  } 
                                                       };
             

        }    
            
        
    }
}